/*G8 �� 3
����� � ������
� ����� .txt ���� ������, �� ����� 1000 ��������, ���������� �����, ����� ����� � ���� �������. ��������� ��� �����, ������� ����������� � ������, ��������� � ��������� ������������� ������. ��������, ���� ���� ������ "data 48 call 9 read13 blank0a", �� � ������� ����� 48, 9, 13 � 0. ������� ������ �� ����������� � ���� .txt. 

������ �� �����: 		������ �� ���������� ����, ���� � ������ ���������� 
������ �� ������: 	������������������ ����� ����� ��������������� �� ����������� 

������
������ �� �����: 		data 48 call 9 read13 blank0a 
������ �� ������: 	0 9 13 48 
 
*/




#include <stdio.h>
#include <locale.h>

#define SIZE 1000
//�� ���� � ������� ��, ������ ������ ���� �� �����

int isDigit(char c) // ��������� �������� �� ������ ������
{
    return ((c>='0')&&(c<='9'));
}


int inDigits(int in_digits[])//������ ������ �����
{
    FILE *in;
    in = fopen("input_3.txt","r");
    int i=0;
    char c;
    while((c=fgetc(in))!=EOF)
    {
        if(isDigit(c))
        {
            int number=0;
            do
            {
                number=number*10+c-'0';
                c=fgetc(in);
            }
            while(isDigit(c));
            in_digits[i++] = number;
            if(c==EOF)
                break;
        }
    }
    fclose(in);
return i;
}


void Sort(int *numbers, int num)//��������� ���������
{
    int temp, flag;
    for (int j=0; j < num; j++)
    {
        flag = 0;
        for ( int i = 0; i < num-1; i++)
        {
            if (numbers[i] > numbers[i+1])
            {
                temp = numbers[i];
                numbers[i] = numbers[i+1];
                numbers[i+1] = temp;
                flag = 1;
            }           
        }
        if (!flag) return;
    }
    return;
}

void Output(int arr[], int n) //������� � ����
{
    FILE *out;
    out = fopen("output_3.txt","w");
    for(int i=0;i<n;i++)
    {
        fprintf(out,"%d ",arr[i]);
    }
    fclose(out);
return;
}


int main(int argc, char **argv)
{
    setlocale(LC_ALL, "Rus");
    int digits[SIZE],n;
    printf("������� ������ �� ����� 'input_3.txt', ����� � ���� 'output_3.txt'");
    n=inDigits(digits);
    Sort(digits,n);
    Output(digits,n);
    return 0;
}